package it.uniroma2.art.owlart.owlimimpl.models.conf;

import it.uniroma2.art.owlart.models.conf.ModelConfigurationImpl;
import it.uniroma2.art.owlart.models.conf.ModelConfigurationParameter;
import it.uniroma2.art.owlart.models.conf.PersistenceModelConfiguration;

public class OWLIMLocalModelConfiguration extends ModelConfigurationImpl implements OWLIMModelConfiguration,
		PersistenceModelConfiguration {

	// Armando: the two parameters here below have been commented, as they should not be double-managed
	// through the configuration interface. They are instead part of the main Model creation interface
	/*
	 * It must be set to the value passed to the method load...
	 */
	// @ModelConfigurationParameter(description =
	// "specifies the default namespace for the main persistence file")
	// public String baseURL = "";

	/*
	 * It must be set to the value passed to the method load...
	 */
	// @ModelConfigurationParameter(description =
	// "specifies the folder where the repository contents will be persisted on shutdown (and reloaded on start up)")
	// public String persistenceFolder = "owlim-storage";

	@ModelConfigurationParameter(description = "true if changes to the repository are persisted")
	public boolean persistent = true;

	@ModelConfigurationParameter(description = "type of repository")
	public String repositoryType = "in-memory-repository";

	@ModelConfigurationParameter(description = "the ruleset for the inference engine")
	public String ruleSet = "owl-horst";

	/*
	 * base-URL, imports, defaultNS aren't supported, storage-folder, since they are sussumed by the factory
	 * methods.
	 * 
	 * partialRDFS isn't supported since it is deprecated.
	 */

	public String getShortName() {
		return "OWLIM LocalModel Configuration";
	}

	public boolean isPersistent() {
		return persistent;
	}
}
